/*
 This file is part of Darling.

 Copyright (C) 2021 Lubos Dolezel

 Darling is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 Darling is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with Darling.  If not, see <http://www.gnu.org/licenses/>.
*/


#ifndef _Accessibility_H_
#define _Accessibility_H_

#import <Foundation/Foundation.h>

#import <Accessibility/AXDefaultsObserverAction.h>
#import <Accessibility/AccessibilitySupportOverrides.h>
#import <Accessibility/AXDefaultsObserverPostDarwinNotificationAction.h>
#import <Accessibility/AXDefaultsObserverExecuteBlockNotificationAction.h>
#import <Accessibility/AXSupportDefaultsObserver.h>

void* AXBeginListeningToUserDefaultsChanges(void);
void* AXCPCopySharedResourcesPreferencesDomainForDomain(void);
void* AXCPSharedResourcesDirectory(void);
void* AXDisallowsUIBasedAccessibilityFeatures(void);
void* AXLocalizationForLocale(void);
void* AXLocalizedStringForLocale(void);
void* AXNSLocalizedStringForLocale(void);
void* AXRetrieveSupportedAccessibilityLanguages(void);
void* AXSAccessibilityUtilitiesPath(void);
void* _AXDarkenSystemColors(void);
void* _AXSAXInspectorEnabled(void);
void* _AXSAXInspectorSetEnabled(void);
void* _AXSAccessibilityBundlesPath(void);
void* _AXSAccessibilityCopyiTunesPreference(void);
void* _AXSAccessibilityEnabled(void);
void* _AXSAccessibilityEnablers(void);
void* _AXSAccessibilityGetBooleaniTunesPreference(void);
void* _AXSAccessibilityHasNoticedOpaqueTouchDevice(void);
void* _AXSAccessibilityPreferenceDomain(void);
void* _AXSAccessibilitySetiTunesPreference(void);
void* _AXSAllowOpaqueTouchGestures(void);
void* _AXSAppleTVRemoteUsesSimpleGestures(void);
void* _AXSApplicationAccessibilityEnabled(void);
void* _AXSApplicationAccessibilitySetEnabled(void);
void* _AXSAssistiveTouchEnabled(void);
void* _AXSAssistiveTouchHardwareEnabled(void);
void* _AXSAssistiveTouchRepairIncarnationModeEnabled(void);
void* _AXSAssistiveTouchScannerEnabled(void);
void* _AXSAssistiveTouchScannerSetEnabled(void);
void* _AXSAssistiveTouchSetEnabled(void);
void* _AXSAssistiveTouchSetHardwareEnabled(void);
void* _AXSAssistiveTouchSetRepairIncarnationModeEnabled(void);
void* _AXSAssistiveTouchSetUIEnabled(void);
void* _AXSAssistiveTouchUIEnabled(void);
void* _AXSAttentionAwarenessFeaturesEnabled(void);
void* _AXSAuditInspectionModeEnabled(void);
void* _AXSAutoBrightnessEnabled(void);
void* _AXSAutomationEnabled(void);
void* _AXSAutomationFauxCollectionViewCellsEnabled(void);
void* _AXSAutomationFauxTableViewCellsEnabled(void);
void* _AXSAutomationHitpointWarpingEnabled(void);
void* _AXSAutomationLocalizedStringLookupInfoEnabled(void);
void* _AXSAutomationLocalizedStringLookupInfoSetEnabled(void);
void* _AXSAutomationPreferredLocalization(void);
void* _AXSAutomationSetFauxCollectionViewCellsEnabled(void);
void* _AXSAutomationSetFauxTableViewCellsEnabled(void);
void* _AXSAutomationSetHitpointWarpingEnabled(void);
void* _AXSBlueYellowFilterEnabled(void);
void* _AXSBlueYellowFilterSetEnabled(void);
void* _AXSButtonShapesEnabled(void);
void* _AXSCachedValueForBrightnessFilter(void);
void* _AXSCanDisableApplicationAccessibility(void);
void* _AXSCharacterVoiceDefaultSupportedLanguages(void);
void* _AXSCharacterVoiceSupportedForLocale(void);
void* _AXSCharacterVoiceSupportedForLocaleIdentifier(void);
void* _AXSCheckForNonStandardApplicationAccessibilityEnabler(void);
void* _AXSClassicInvertColorsEnabled(void);
void* _AXSClassicInvertColorsSetEnabled(void);
void* _AXSClipTracerAccessibilityModeEnabled(void);
void* _AXSClosedCaptionsEnabled(void);
void* _AXSClosedCaptionsSetEnabled(void);
void* _AXSColorTintFilterEnabled(void);
void* _AXSColorTintSetEnabled(void);
void* _AXSCommandAndControlEnabled(void);
void* _AXSCommandAndControlSetEnabled(void);
void* _AXSContextKitAppIsWhitelisted(void);
void* _AXSContextKitContextIsLoneApplicationAccessibilityEnabler(void);
void* _AXSContextKitContextIsLoneEnabler(void);
void* _AXSCopyPreferenceValue(void);
void* _AXSCopyPreferredContentSizeCategoryName(void);
void* _AXSCopySettingsDataBlobForBuddy(void);
void* _AXSCrashOnValidationErrors(void);
void* _AXSCurrentAccessibilitySettingsCanSupportLoginUI(void);
void* _AXSDefaultRouteForCall(void);
void* _AXSDidInitializeNotificationListeners(void);
void* _AXSDifferentiateWithoutColorEnabled(void);
void* _AXSDisableDomainSynching(void);
void* _AXSDisableScreenFilters(void);
void* _AXSEarpieceNoiseCancellationEnabled(void);
void* _AXSEarpieceNoiseCancellationSetEnabled(void);
void* _AXSEnhanceBackgroundContrastEnabled(void);
void* _AXSEnhanceTextLegibilityEnabled(void);
void* _AXSEnhanceTextTrackingEnabled(void);
void* _AXSExtendedKeyboardPredictionsEnabled(void);
void* _AXSForcePreferenceUpdate(void);
void* _AXSForceTouchEnabled(void);
void* _AXSForceTouchSensitivity(void);
void* _AXSForceTouchTimeDuration(void);
void* _AXSFullKeyboardAccessEnabled(void);
void* _AXSFullKeyboardAccessFocusRingEnabled(void);
void* _AXSFullKeyboardAccessPassthroughModeEnabled(void);
void* _AXSFullKeyboardAccessSetEnabled(void);
void* _AXSFullKeyboardAccessSetFocusRingEnabled(void);
void* _AXSFullKeyboardAccessSetPassthroughModeEnabled(void);
void* _AXSGetUSBRMDisablers(void);
void* _AXSGrayscaleEnabled(void);
void* _AXSGrayscaleSetEnabled(void);
void* _AXSGreenRedFilterEnabled(void);
void* _AXSGreenRedFilterSetEnabled(void);
void* _AXSGuidedAccessEnabled(void);
void* _AXSGuidedAccessEnabledByManagedConfiguration(void);
void* _AXSGuidedAccessHasPasscode(void);
void* _AXSGuidedAccessRequiresApplicationAccessibility(void);
void* _AXSGuidedAccessSetEnabled(void);
void* _AXSGuidedAccessSetEnabledByManagedConfiguration(void);
void* _AXSGuidedAccessSetHasPasscode(void);
void* _AXSGuidedAccessStartSession(void);
void* _AXSHandleHomeButtonPressSwallowedForGuidedAccess(void);
void* _AXSHandleTripleClickHomeButtonPress(void);
void* _AXSHearingAidComplianceEnabled(void);
void* _AXSHearingAidComplianceSetEnabled(void);
void* _AXSHearingAidRingtoneStreamingEnabled(void);
void* _AXSHearingAidRingtoneStreamingSetEnabled(void);
void* _AXSHearingAidsPaired(void);
void* _AXSHearingAidsSetPaired(void);
void* _AXSHearingDevicePairedEars(void);
void* _AXSHearingSetDevicePairedEars(void);
void* _AXSHighContrastFocusIndicatorsEnabled(void);
void* _AXSHomeButtonAssistant(void);
void* _AXSHomeButtonRestingUnlock(void);
void* _AXSHomeButtonRestingUnlockEverSet(void);
void* _AXSHomeButtonSetRestingUnlock(void);
void* _AXSHomeClickEnabled(void);
void* _AXSHomeClickSetSpeed(void);
void* _AXSHomeClickSpeed(void);
void* _AXSInDataMigrationMode(void);
void* _AXSInPerformanceTestMode(void);
void* _AXSInUnitTestMode(void);
void* _AXSIncreaseButtonLegibility(void);
void* _AXSInvertColorsDisplaySetEnabled(void);
void* _AXSInvertColorsEnabled(void);
void* _AXSInvertColorsMarkInvertColorsPreloadComplete(void);
void* _AXSInvertColorsReloadPreferenceImmediately(void);
void* _AXSInvertColorsSetEnabled(void);
void* _AXSKeyRepeatDelay(void);
void* _AXSKeyRepeatEnabled(void);
void* _AXSKeyRepeatInterval(void);
void* _AXSLargeTextUsesExtendedRange(void);
void* _AXSLeftRightAudioBalance(void);
void* _AXSLetterFeedbackEnabled(void);
void* _AXSLocalizationCaptionMode(void);
void* _AXSLockClickDownPressDurationScaleFactor(void);
void* _AXSLockClickVarianceScaleFactor(void);
void* _AXSLogValidationErrors(void);
void* _AXSLowercaseKeyboardDisplayEnabled(void);
void* _AXSMonoAudioEnabled(void);
void* _AXSMonoAudioSetEnabled(void);
void* _AXSNamedSingleSystemColor(void);
void* _AXSOpaqueTouchTapSpeed(void);
void* _AXSPearlAuthenticationHapticsEnabled(void);
void* _AXSPearlRestingUnlock(void);
void* _AXSPearlRestingUnlockEverSet(void);
void* _AXSPearlSetRestingUnlock(void);
void* _AXSPhoneticFeedbackEnabled(void);
void* _AXSPreferredFontSize(void);
void* _AXSPreferredFontSizeSetSize(void);
void* _AXSProcessDrawsAssistiveUI(void);
void* _AXSQuickSpeakCopyPreferredLocalesForLanguages(void);
void* _AXSQuickSpeakEnabled(void);
void* _AXSQuickSpeakSetEnabled(void);
void* _AXSQuickSpeakSetPreferredLocaleForLanguage(void);
void* _AXSQuickTypePredictionFeedbackEnabled(void);
void* _AXSRedGreenFilterEnabled(void);
void* _AXSRedGreenFilterSetEnabled(void);
void* _AXSReduceMotionAutoplayMessagesEffectsEnabled(void);
void* _AXSReduceMotionAutoplayVideoPreviewsEnabled(void);
void* _AXSReduceMotionEnabled(void);
void* _AXSReduceMotionReduceSlideTransitionsEnabled(void);
void* _AXSReduceWhitePointEnabled(void);
void* _AXSReportValidationErrors(void);
void* _AXSResetAccessibilityFeatures(void);
void* _AXSRestoreSettingsFromDataBlobForBuddy(void);
void* _AXSScreenContrast(void);
void* _AXSScreenFilterApplied(void);
void* _AXSScreenFilterSetShowInitialAlert(void);
void* _AXSScreenFilterShowInitialAlert(void);
void* _AXSSetAccessibilityEnabled(void);
void* _AXSSetAccessibilityHasNoticedOpaqueTouchDevice(void);
void* _AXSSetAccessibilityNeedsCameraOnLockScreen(void);
void* _AXSSetAllowOpaqueTouchGestures(void);
void* _AXSSetAppleTVRemoteUsesSimpleGestures(void);
void* _AXSSetAttentionAwarenessFeaturesEnabled(void);
void* _AXSSetAuditInspectionModeEnabled(void);
void* _AXSSetAutomationEnabled(void);
void* _AXSSetButtonShapesEnabled(void);
void* _AXSSetCacheForBrightnessFilter(void);
void* _AXSSetClipTracerAccessibilityModeEnabled(void);
void* _AXSSetCrashOnValidationErrors(void);
void* _AXSSetDarkenSystemColors(void);
void* _AXSSetDefaultRouteForCall(void);
void* _AXSSetDifferentiateWithoutColorEnabled(void);
void* _AXSSetEnhanceBackgroundContrastEnabled(void);
void* _AXSSetEnhanceTextLegibilityEnabled(void);
void* _AXSSetEnhanceTextTrackingEnabled(void);
void* _AXSSetForceTouchEnabled(void);
void* _AXSSetForceTouchSensitivity(void);
void* _AXSSetForceTouchTimeDuration(void);
void* _AXSSetHighContrastFocusIndicatorsEnabled(void);
void* _AXSSetHomeButtonAssistant(void);
void* _AXSSetInDataMigrationMode(void);
void* _AXSSetInPerformanceTestMode(void);
void* _AXSSetInUnitTestMode(void);
void* _AXSSetIncreaseButtonLegibility(void);
void* _AXSSetKeyRepeatDelay(void);
void* _AXSSetKeyRepeatEnabled(void);
void* _AXSSetKeyRepeatInterval(void);
void* _AXSSetLargeTextUsesExtendedRange(void);
void* _AXSSetLeftRightAudioBalance(void);
void* _AXSSetLetterFeedbackEnabled(void);
void* _AXSSetLocalizationCaptionModeEnabled(void);
void* _AXSSetLogValidationErrors(void);
void* _AXSSetLowercaseKeyboardDisplayEnabled(void);
void* _AXSSetNamedSingleSystemColor(void);
void* _AXSSetOpaqueTouchTapSpeed(void);
void* _AXSSetPearlAuthenticationHapticsEnabled(void);
void* _AXSSetPhoneticFeedbackEnabled(void);
void* _AXSSetPreferredContentSizeCategoryName(void);
void* _AXSSetQuickTypePredictionFeedbackEnabled(void);
void* _AXSSetReduceMotionAutoplayMessagesEffectsEnabled(void);
void* _AXSSetReduceMotionAutoplayVideoPreviewsEnabled(void);
void* _AXSSetReduceMotionEnabled(void);
void* _AXSSetReduceMotionReduceSlideTransitionsEnabled(void);
void* _AXSSetReduceWhitePointEnabled(void);
void* _AXSSetReportValidationErrors(void);
void* _AXSSetScreenContrast(void);
void* _AXSSetShakeToUndoDisabled(void);
void* _AXSSetShouldUseSpringBoardForHomeButtonDetection(void);
void* _AXSSetSideButtonClickSpeed(void);
void* _AXSSetSiriSemanticContextEnabled(void);
void* _AXSSetSlowKeysAcceptanceDelay(void);
void* _AXSSetSlowKeysEnabled(void);
void* _AXSSetSpeakThisEnabled(void);
void* _AXSSetTripleClickOptions(void);
void* _AXSSetUSBRMDisablers(void);
void* _AXSSetUseDarkerKeyboard(void);
void* _AXSSetUseSingleSystemColor(void);
void* _AXSSetUserEnabledPasscodeForPurchases(void);
void* _AXSSetVibrationDisabled(void);
void* _AXSSetWebAccessibilityEventsEnabled(void);
void* _AXSSetWordFeedbackEnabled(void);
void* _AXSSetWriteableClient(void);
void* _AXSShakeToUndoDisabled(void);
void* _AXSShouldUseSpringBoardForHomeButtonDetection(void);
void* _AXSSideButtonClickSpeed(void);
void* _AXSSideButtonClickSpeedEnabled(void);
void* _AXSSingleSystemColorValues(void);
void* _AXSSiriSemanticContextEnabled(void);
void* _AXSSlowKeysAcceptanceDelay(void);
void* _AXSSlowKeysEnabled(void);
void* _AXSSoftwareTTYEnabled(void);
void* _AXSSoftwareTTYSetEnabled(void);
void* _AXSSpeakThisEnabled(void);
void* _AXSSpeechSettingsDisabledByManagedConfiguration(void);
void* _AXSSpeechSettingsSetDisabledByManagedConfiguration(void);
void* _AXSSwitchControlEnabledAndNeedsCameraOnLockScreen(void);
void* _AXSSwitchControlExtendedKeyboardPredictionsEnabled(void);
void* _AXSSwitchControlExtendedKeyboardPredictionsSetEnabled(void);
void* _AXSTripleClickAddOption(void);
void* _AXSTripleClickContainsOption(void);
void* _AXSTripleClickCopyOptions(void);
void* _AXSTripleClickRemoveOption(void);
void* _AXSUseDarkerKeyboard(void);
void* _AXSUseSingleSystemColor(void);
void* _AXSUserEnabledPasscodeForPurchases(void);
void* _AXSVibrationDisabled(void);
void* _AXSVideosPreferenceDomain(void);
void* _AXSVisualAlertEnabled(void);
void* _AXSVisualAlertSetEnabled(void);
void* _AXSVoiceOverTouchBrailleContractionMode(void);
void* _AXSVoiceOverTouchBrailleDisplayDisconnectOnSleep(void);
void* _AXSVoiceOverTouchBrailleEightDotMode(void);
void* _AXSVoiceOverTouchBrailleMasterStatusCellIndex(void);
void* _AXSVoiceOverTouchBrailleVirtualStatusAlignment(void);
void* _AXSVoiceOverTouchCopyBrailleBluetoothDisplay(void);
void* _AXSVoiceOverTouchCopyBrailleLanguageRotorItems(void);
void* _AXSVoiceOverTouchCopyBrailleTableIdentifier(void);
void* _AXSVoiceOverTouchCopyLanguageRotorItems(void);
void* _AXSVoiceOverTouchEnabled(void);
void* _AXSVoiceOverTouchEnabledThroughAccessory(void);
void* _AXSVoiceOverTouchScreenCurtainEnabled(void);
void* _AXSVoiceOverTouchSetBrailleBluetoothDisplay(void);
void* _AXSVoiceOverTouchSetBrailleContractionMode(void);
void* _AXSVoiceOverTouchSetBrailleDisplayDisconnectOnSleep(void);
void* _AXSVoiceOverTouchSetBrailleEightDotMode(void);
void* _AXSVoiceOverTouchSetBrailleLanguageRotorItems(void);
void* _AXSVoiceOverTouchSetBrailleMasterStatusCellIndex(void);
void* _AXSVoiceOverTouchSetBrailleTableIdentifier(void);
void* _AXSVoiceOverTouchSetBrailleVirtualStatusAlignment(void);
void* _AXSVoiceOverTouchSetEnabled(void);
void* _AXSVoiceOverTouchSetEnabledAndAutoConfirmUsage(void);
void* _AXSVoiceOverTouchSetEnabledThroughAccessory(void);
void* _AXSVoiceOverTouchSetLanguageRotorItems(void);
void* _AXSVoiceOverTouchSetScreenCurtainEnabled(void);
void* _AXSVoiceOverTouchSetShouldRouteToSpeakerWithProximity(void);
void* _AXSVoiceOverTouchSetSpeakTimeOnWake(void);
void* _AXSVoiceOverTouchSetSpeakingRate(void);
void* _AXSVoiceOverTouchSetTypingMode(void);
void* _AXSVoiceOverTouchSetUIEnabled(void);
void* _AXSVoiceOverTouchSetUsageConfirmed(void);
void* _AXSVoiceOverTouchSetUserHasReadNoHomeButtonGestureDescription(void);
void* _AXSVoiceOverTouchSetVolume(void);
void* _AXSVoiceOverTouchShouldRouteToSpeakerWithProximity(void);
void* _AXSVoiceOverTouchSpeakTimeOnWake(void);
void* _AXSVoiceOverTouchSpeakingRate(void);
void* _AXSVoiceOverTouchTypingMode(void);
void* _AXSVoiceOverTouchUIEnabled(void);
void* _AXSVoiceOverTouchUsageConfirmed(void);
void* _AXSVoiceOverTouchUserHasReadNoHomeButtonGestureDescription(void);
void* _AXSVoiceOverTouchVolume(void);
void* _AXSVoiceOvierTouchLanguageRotorItemsExist(void);
void* _AXSWalkieTalkieSetTapToTalkEnabled(void);
void* _AXSWalkieTalkieTapToTalkEnabled(void);
void* _AXSWebAccessibilityEventsEnabled(void);
void* _AXSWordFeedbackEnabled(void);
void* _AXSZoomSpeakUnderFingerEnabled(void);
void* _AXSZoomSpeakUnderFingerSetEnabled(void);
void* _AXSZoomTouchEnabled(void);
void* _AXSZoomTouchSetEnabled(void);
void* _AXSZoomTouchSetSmoothScalingDisabled(void);
void* _AXSZoomTouchSetToggledByPreferenceSwitch(void);
void* _AXSZoomTouchSetToggledByVoiceOver(void);
void* _AXSZoomTouchSmoothScalingDisabled(void);
void* _AXSZoomTouchToggledByPreferenceSwitch(void);
void* _AXSZoomTouchToggledByVoiceOver(void);
void* _AXSetPreferenceWithNotification(void);
void* _AXSystemRootDirectory(void);
void* _axsPrefsToNotificationMap(void);
void* _getFloatPreference(void);
void* _langSort(void);
void* _removePreference(void);
void* _setNumberPreference(void);
void* _setValuePreference(void);
void* _updateAccessibilitySettings(void);

#endif
